package com.iceclean.service;

import com.iceclean.po.Message;

import java.util.List;

/**
 * @author : Ice'Clean
 * @date : 2021-05-09
 *
 * 与消息有关的服务
 */
public interface MessageService {

    /**
     * 创建新消息
     * @param senderId 新消息的发送者
     * @param receiverId 新消息的接收者
     * @param messageContent 新消息的内容
     * @param messageClass 新消息的类别（0表示系统消息、1表示私信、2表示好友聊天）
     * @param messageHref 可能存在的超链接
     * @return 新消息的实体
     */
    Message createMessage(int senderId, int receiverId, String messageContent, int messageClass, String messageHref);

    /**
     * 获取指定用过户指定信息的总条数
     * @param userId 指定用户 id
     * @param messageClass 指定信息中了
     * @return 符合条件的信息的总条数
     */
    int getAllMessageForNumber(int userId, int messageClass);

    /**
     * 按页数获取指定用户指定类别的消息
     * @param userId 指定用户 id
     * @param messageClass 指定类别（0 系统消息）
     * @param page 页数
     * @param num 每页的数量
     * @return 符合条件的消息集合
     */
    List<Message> findMessageByPage(int userId, int messageClass, int page, int num);
}
